package com.yourenbang.lingyun.transaction.web.domain.dto.manage;

import com.yourenbang.lingyun.constants.enums.ChannelIdEnums;
import com.yourenbang.lingyun.core.util.json.ToJSON;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

@Data
public class TradeSupplementDTO implements Serializable, ToJSON {

    public static final Integer IS_RE_SUPPLEMENT = 10;
    public static final Integer IS_NOT_RE_SUPPLEMENT = 0;
    /**
     * 订单号
     */
    private String orderNo;
    /**
     * 流水号
     */
    private String transactionNo;
    /**
     * 商户号
     */
    private String merchantNo;
    /**
     * 商户名称
     */
    private String merchantName;
    /**
     * 系统参考号
     */
    private String sysRef;
    /**
     * 卡类型   C:贷记卡 D:借记卡 WECHAT:微信 ALIPAY:支付宝 UNIONCODE:银联二维码
     */
    private String cardFlag;

    /**
     * 交易时间
     */
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private LocalDateTime transactionTime;
    /**
     * 交易卡号
     */
    private String transactionCardNo;
    /**
     * ⾦额(元)
     */
    private BigDecimal transactionAmount;
    /**
     * 手续费（元）
     */
    private BigDecimal transactionFee;
    /**
     * 结算金额（元）注：有且仅有产品类型为盛付通时展示
     */
    private BigDecimal settlementAmount;
    /**
     * 产品类型
     */
    private Short channelId = ChannelIdEnums.no.getCode();
    /**
     * 终端号
     */
    private String terminalId;
    /**
     * 机具号
     */
    private String terminalSn;
    /**
     * 交易类型：0：消费交易 412001:押金交易
     */
    private String transType;
    /**
     * 操作人
     */
    private String operator;
    /**
     * 批次号
     */
    private String batchNo;
    /**
     * 批量补录表格路径
     */
    private String batchExcelPath;
    /**
     * 是否重新补录 0：否  10：是
     */
    private Integer reSupplementFlag = IS_NOT_RE_SUPPLEMENT;

    /**
     * 包含交易数量
     */
    private Integer tradeCount;
    /**
     * 包含订单号
     */
    private String orderNos;

    /**
     * d0手续费 y40使用
     */
    private BigDecimal d0Fee;
}
